//Camera Class Source File
//Defines structure for holding and controlling a camera in 3D Space

	//Include Files//
#include "Camera.hpp"

	//Globals and Constants//

/******************************************************************************\
|	Constructor:															   |
\******************************************************************************/
Camera::Camera()
{
	m_posX = 0.0f;
	m_posY = 0.0f;
	m_posZ = 0.0f;

	m_tarX = 0.0f;
	m_tarY = 0.0f;
	m_tarZ = 1.0f;

	m_upX  = 0.0f;
	m_upY  = 1.0f;
	m_upZ  = 0.0f;

	m_CameraBob = false;

}	//End Camera()

/******************************************************************************\
|	Destructor:																   |
\******************************************************************************/
Camera::~Camera()
{

}	//End ~Camera()

/******************************************************************************\
|	Init:																	   |
\******************************************************************************/
void Camera::Init()
{

}	//End Init()

/******************************************************************************\
|	Exit:																	   |
\******************************************************************************/
void Camera::Exit()
{

}	//End Exit()

/******************************************************************************\
|	MoveX:																	   |
\******************************************************************************/
void Camera::MoveX(float diffX)
{
	m_posX += diffX;
}	//End MoveX()

/******************************************************************************\
|	MoveY:																	   |
\******************************************************************************/
void Camera::MoveY(float diffY)
{
	m_posY += diffY;
}	//End MoveY()

/******************************************************************************\
|	MoveZ:																	   |
\******************************************************************************/
void Camera::MoveZ(float diffZ)
{
	m_posZ += diffZ;
}	//End MoveZ()

/******************************************************************************\
|	MoveXYZ:																	   |
\******************************************************************************/
void Camera::MoveXYZ(float diffX, float diffY, float diffZ)
{
	MoveX(diffX);
	MoveY(diffY);
	MoveZ(diffZ);
}	//End MoveZ()

/******************************************************************************\
|	Pitch:																	   |
\******************************************************************************/
void Camera::Pitch()
{

}	//End Pitch()

/******************************************************************************\
|	Yaw:																	   |
\******************************************************************************/
void Camera::Yaw()
{

}	//End Yaw()

/******************************************************************************\
|	Roll:																	   |
\******************************************************************************/
void Camera::Roll()
{

}	//End Roll()

/******************************************************************************\
|	Zoom:																	   |
\******************************************************************************/
void Camera::Zoom()
{

}	//End Zoom()

/******************************************************************************\
|	Orbit:																	   |
\******************************************************************************/
void Camera::Orbit()
{

}	//End Orbit()

/******************************************************************************\
|	EnableBobbing:  Turn on View Bobbing									   |
\******************************************************************************/
void Camera::EnableBobbing(bool Enabled)
{
	m_CameraBob = Enabled;
}	//End EnableBobbing()